/**
 * 项目反馈辅助类
 */
const ProjectFeedbackModel = require('../config/models_config').project_feedback_model;

class ProjectFeedbackHelper {
    // 类型选项
    static TYPE_OPTIONS = [
        { label: '功能问题', value: 1 },
        { label: '性能问题', value: 2 },
        { label: '质量问题', value: 3 },
        { label: '建议', value: 4 },
        { label: '其他', value: 5 }
    ];

    // 优先级选项
    static PRIORITY_OPTIONS = [
        { label: '低', value: 1 },
        { label: '中', value: 2 },
        { label: '高', value: 3 },
        { label: '紧急', value: 4 }
    ];

    // 状态选项
    static STATUS_OPTIONS = [
        { label: '全部', value: 0 },
        { label: '待处理', value: 1 },
        { label: '处理中', value: 2 },
        { label: '已解决', value: 3 },
        { label: '已拒绝', value: 4 },
        { label: '已关闭', value: 5 }
    ];

    /**
     * 根据状态获取状态名称
     * @param {number} status 状态
     * @returns {string} 状态名称
     */
    static getStatusName(status) {
        const statusMap = {
            1: '待处理',
            2: '处理中',
            3: '已解决',
            4: '已拒绝',
            5: '已关闭'
        };
        return statusMap[status] || '未知状态';
    }

    /**
     * 根据类型获取类型名称
     * @param {number} type 类型
     * @returns {string} 类型名称
     */
    static getTypeName(type) {
        const typeMap = {
            1: '功能问题',
            2: '性能问题',
            3: '质量问题',
            4: '建议',
            5: '其他'
        };
        return typeMap[type] || '未知类型';
    }

    /**
     * 根据优先级获取优先级名称
     * @param {number} priority 优先级
     * @returns {string} 优先级名称
     */
    static getPriorityName(priority) {
        const priorityMap = {
            1: '低',
            2: '中',
            3: '高',
            4: '紧急'
        };
        return priorityMap[priority] || '未知优先级';
    }

    /**
     * 获取状态样式类
     * @param {number} status 状态
     * @returns {string} 样式类
     */
    static getStatusClass(status) {
        const classMap = {
            1: 'text-blue',
            2: 'text-orange',
            3: 'text-green',
            4: 'text-red',
            5: 'text-gray'
        };
        return classMap[status] || '';
    }

    /**
     * 获取优先级样式类
     * @param {number} priority 优先级
     * @returns {string} 样式类
     */
    static getPriorityClass(priority) {
        const classMap = {
            1: 'text-gray',
            2: 'text-blue',
            3: 'text-orange',
            4: 'text-red'
        };
        return classMap[priority] || '';
    }

    /**
     * 获取类型样式类
     * @param {number} type 类型
     * @returns {string} 样式类
     */
    static getTypeClass(type) {
        const classMap = {
            1: 'text-red',
            2: 'text-orange',
            3: 'text-yellow',
            4: 'text-green',
            5: 'text-gray'
        };
        return classMap[type] || '';
    }
}

module.exports = ProjectFeedbackHelper; 